// 引入axios
import axios from "axios";
import { ElMessage } from 'element-ui'

// 创建axios实列
const request = axios.create({
    baseURL: 'https://shop.zczmer.com/WXAPI/App', // 设置请求的基础路径
    timeout: 5000 // 设置请求的超时时间
});

// 请求拦截器
request.interceptors.request.use((config) => {
    // config是一个非常重要的配置;里面的header可以携带公共数据给服务器；类如：token
    // console.log(config);
    return config;
});

// 响应拦截器：
request.interceptors.response.use((response) => {
    // 请求成功的回调函数
    return response.data;
}, (error) => {
    // 请求失败的回调函数，里面可以处理一些http网路错误
    console.log(error.response.status);

    if (error.response.status) {
        switch (error.response.status) {
            case 404:
                // 错误提示信息
                ElMessage({
                    type: 'error',
                    message: '请求失败路径出现问题！！！！'
                });
                break;
            case 500:
            case 501:
            case 502:
            case 503:
            case 504:
            case 505:
                ElMessage({
                    type: 'error',
                    message: '服务器挂了'
                });
                break;
            case 401:
                ElMessage({
                    type: 'error',
                    message: '参数有误'
                });
                break;
            case 400:
                ElMessage({
                    type: 'error',
                    message: '客户端的错误'
                });
                break;
            default:
                ElMessage({
                    type: 'error',
                    message: '未知错误'
                });
                break;
        }
    }

    return Promise.reject(new Error(error.message));
});

// 切记：一定要对外暴露
export default request;
